<?php

/**
 * bootstrap.php
 * 
 * 初始化框架的基本设置
 * @author wang <wang@fvzone.com>
 * @copyright Copyright (c) 2010 Fire vision Software Studio
 * @link http://www.fvzone.com
 * @license New BSD License.{@link http://www.opensource.org/licenses/bsd-license.php}
 * @version $Id: bootstrap.php 1.2 2011-09-9 21:01:01Z wang $
 * @package work
 * @since 1.0
 */

defined('IN_WORK') or exit('Authorization error');

/**
 * 记录内存开销
 */
define('START_USE_MEMORY', memory_get_usage());

/** 
 * 定义路径 WIN OR LINUX 分隔符
 */
define('DS', DIRECTORY_SEPARATOR);

/**
 * 定义WorkPHP框架文件所在路径
 */
defined('WORK_DIR') or define('WORK_DIR', dirname(__FILE__) . DS);

/**
 * 开启调试，或显示所有错误
 */
defined('DEBUG') or define('DEBUG', true);

/**
 * 把调试信息记录到文件
 */
defined('DEBUG_LOG') or define('DEBUG_LOG', true);

/**
 * 默认时区(上海)
 */
defined('TIMEZONE') or define('TIMEZONE', 'Asia/ShangHai');

/**
 * 开发模式，如果开启的话URI第一个参数会是组件目录
 * 例如: [index/home/test] 首先index是组件目录，home是控制器，test才是方法
 * 普通模式则index是控制器，home是方法，test是get参数的第一个键
 * 当然这些都不是必须的，你可以通过自定义路由实现短网址功能
 */
defined('COMPONENT_MODEL') or define('COMPONENT_MODEL', true);

/**
 * 缓存根目录
 */
defined('CACHE_DIR') or define('CACHE_DIR', APP_DIR . 'cache' . DS);

/**
 * 公共组件的名称
 */
defined('PUBLIC_COMPONENT') or define('PUBLIC_COMPONENT', 'public');

/**
 * 公共组件目录
 */
defined('PUBLIC_DIR') or define('PUBLIC_DIR', APP_DIR . 'components' .DS. PUBLIC_COMPONENT .DS);

/**
 * 组件根目录
 */
defined('COMPONENT_DIR') or define('COMPONENT_DIR', APP_DIR. 'components' .DS);

/**
 *  是否开启地址重写，也就是去掉url中的index前缀
 */
defined('REWRITE') or define('REWRITE', true);

/**
 * 定义网址路由的分割符,注：分割符不要与其它网址参数等数据相冲突
 */
defined('URL_SPLIT') or define('URL_SPLIT', '/');

/**
 * 定义路由网址的伪静态网址的后缀,注：不要忘记了.(点)
 */
defined('URL_SUFFIX') or define('URL_SUFFIX', '.html');

/**
 * 定义入口文件名
 */
defined('SCRIPT_NAME') or define('SCRIPT_NAME', 'index.php');

/**
 * 导入核心基础类
 */
require WORK_DIR.'core'.DS.'work.php';

/**
 * 记录初始化时间
 */
Work::time('WORK_START_TIME');

//显示showTrace信息，默认为true
Work::config()->SHOW_TRACE = true;

//默认组件名称
Request::component('public');

//默认控制器名称
Request::controller('index');

//默认方法名称
Request::action('index');

